package com.ruoyi.project.file.detail.service.impl;

import java.util.List;
import com.ruoyi.common.utils.DateUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.ruoyi.project.file.detail.mapper.FileDetailMapper;
import com.ruoyi.project.file.detail.domain.FileDetail;
import com.ruoyi.project.file.detail.service.IFileDetailService;
import com.ruoyi.common.utils.text.Convert;

/**
 * 文件记录Service业务层处理
 *
 * @author zhangqidi
 * @date 2025-08-06
 */
@Service
public class FileDetailServiceImpl implements IFileDetailService
{
    @Autowired
    private FileDetailMapper fileDetailMapper;

    /**
     * 查询文件记录
     *
     * @param id 文件记录主键
     * @return 文件记录
     */
    @Override
    public FileDetail selectFileDetailById(String id)
    {
        return fileDetailMapper.selectFileDetailById(id);
    }

    /**
     * 查询文件记录列表
     *
     * @param fileDetail 文件记录
     * @return 文件记录
     */
    @Override
    public List<FileDetail> selectFileDetailList(FileDetail fileDetail)
    {
        return fileDetailMapper.selectFileDetailList(fileDetail);
    }

    /**
     * 新增文件记录
     *
     * @param fileDetail 文件记录
     * @return 结果
     */
    @Override
    public int insertFileDetail(FileDetail fileDetail)
    {
        fileDetail.setCreateTime(DateUtils.getNowDate());
        return fileDetailMapper.insertFileDetail(fileDetail);
    }

    /**
     * 修改文件记录
     *
     * @param fileDetail 文件记录
     * @return 结果
     */
    @Override
    public int updateFileDetail(FileDetail fileDetail)
    {
        return fileDetailMapper.updateFileDetail(fileDetail);
    }

    /**
     * 批量删除文件记录
     *
     * @param ids 需要删除的文件记录主键
     * @return 结果
     */
    @Override
    public int deleteFileDetailByIds(String ids)
    {
        return fileDetailMapper.deleteFileDetailByIds(Convert.toStrArray(ids));
    }

    /**
     * 删除文件记录信息
     *
     * @param id 文件记录主键
     * @return 结果
     */
    @Override
    public int deleteFileDetailById(String id)
    {
        return fileDetailMapper.deleteFileDetailById(id);
    }

    /**
     * 根据关联对象ID删除文件详情
     * @param objectId 关联对象ID
     * @return 结果
     */
    @Override
    public int deleteFileDetailByObjectId(String objectId) {
        return fileDetailMapper.deleteFileDetailByObjectId(objectId);
    }
}
